package com.xian.d2_polymorphic_advantage;

/**
 *优势
 * ●在多态形式下，右边对象可以实现解耦合，便于扩展和维护。
 * Animal a =new Dog();
 * a.run();
 * //后续业务行为随对象而变，后续代码无需修改
 *
 * 定义方法的时候，使用父类型作为参数，该方法就可以接收这父类的一切子类对象，体现出多态的扩展性与便利。
 *
 * 劣势:
 * 多态下不能使用子类的独有功能
 */
public class Test {
    public static void main(String[] args) {
        Animal d = new Dog();
        go(d);

        Animal t = new Tortoise();
        go(t);

    }
    /**
     * 希望这个方法可以接收一切子类动物对象
     */
    public static void go(Animal a){
        System.out.println("跑！！！");
        a.run();

    }
}
